package com.ruoyi.cms.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 内容信息对象 cms_topic
 *
 * @author ruoyi
 * @date 2021-07-30
 */
@ApiModel("内容信息对象")
public class CmsTopic extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 内容ID */
    @ApiModelProperty(value = "内容ID")
    private Long topicId;

    /** 站点ID */
    @ApiModelProperty(value = "站点ID")
    private Long siteId;

    /** 模型ID */
    @ApiModelProperty(value = "模型ID")
    private Long modelId;

    /** 栏目ID */
    @ApiModelProperty(value = "栏目ID")
    private Long channelId;

    /** 标题 */
    @ApiModelProperty(value = "标题")
    @Excel(name = "标题")
    private String title;

    /** 来源 */
    @ApiModelProperty(value = "来源")
    @Excel(name = "来源")
    private String source;

    /** 发布人 */
    @ApiModelProperty(value = "发布人")
    @Excel(name = "发布人")
    private String publishBy;

    /** 发布时间 */
    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishTime;

    /** 阅读次数 */
    @ApiModelProperty(value = "阅读次数")
    @Excel(name = "阅读次数")
    private Long visit;

    /** 审核状态（0未审核 1通过 2不通过） */
    @ApiModelProperty(value = "审核状态（0未审核 1通过 2不通过）")
    @Excel(name = "审核状态", readConverterExp = "0=未审核,1=通过,2=不通过")
    private String verifyStatus;

    /** 审核人 */
    @ApiModelProperty(value = "审核人")
    @Excel(name = "审核人")
    private String verifyBy;

    /** 审核时间 */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date verifyTime;

    /** 状态（0正常 1停用） */
    @ApiModelProperty(value = "状态（0正常 1停用）")
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    public void setTopicId(Long topicId)
    {
        this.topicId = topicId;
    }

    public Long getTopicId()
    {
        return topicId;
    }
    public void setSiteId(Long siteId)
    {
        this.siteId = siteId;
    }

    public Long getSiteId()
    {
        return siteId;
    }
    public void setModelId(Long modelId)
    {
        this.modelId = modelId;
    }

    public Long getModelId()
    {
        return modelId;
    }
    public void setChannelId(Long channelId)
    {
        this.channelId = channelId;
    }

    public Long getChannelId()
    {
        return channelId;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setSource(String source)
    {
        this.source = source;
    }

    public String getSource()
    {
        return source;
    }
    public void setPublishBy(String publishBy)
    {
        this.publishBy = publishBy;
    }

    public String getPublishBy()
    {
        return publishBy;
    }
    public void setPublishTime(Date publishTime)
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime()
    {
        return publishTime;
    }
    public void setVisit(Long visit)
    {
        this.visit = visit;
    }

    public Long getVisit()
    {
        return visit;
    }
    public void setVerifyStatus(String verifyStatus)
    {
        this.verifyStatus = verifyStatus;
    }

    public String getVerifyStatus()
    {
        return verifyStatus;
    }
    public void setVerifyBy(String verifyBy)
    {
        this.verifyBy = verifyBy;
    }

    public String getVerifyBy()
    {
        return verifyBy;
    }
    public void setVerifyTime(Date verifyTime)
    {
        this.verifyTime = verifyTime;
    }

    public Date getVerifyTime()
    {
        return verifyTime;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("topicId", getTopicId())
            .append("siteId", getSiteId())
            .append("modelId", getModelId())
            .append("channelId", getChannelId())
            .append("title", getTitle())
            .append("source", getSource())
            .append("publishBy", getPublishBy())
            .append("publishTime", getPublishTime())
            .append("visit", getVisit())
            .append("verifyStatus", getVerifyStatus())
            .append("verifyBy", getVerifyBy())
            .append("verifyTime", getVerifyTime())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
